package cn.zhfeat.hatch.entity.company;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;

public class CompanyDepartment implements Serializable{
    
	private static final long serialVersionUID = 1L;
  
    /** mycat生成唯一id*/
	@JSONField(serializeUsing = ToStringSerializer.class)
    private Long id;

    /** 创建时间*/
    private Date createTime;

    /** 更新时间*/
    private Date updateTime;

    /** 创建人id*/
    private Long createUserId;

    /** 删除时间*/
    private Date deleteTime;

    /** 删除标记*/
    private Integer isDeleted;

    /** 名称*/
    private String name;

    /** 编码*/
    private String code;

    /** 描述*/
    private String description;

    /** 父部门编码id*/
    private Long parentDeptId;

    /** 领导ID*/
    private Long leaderId;
    
    /** 企业ID 新增字段20180509  - ZhangHao*/
    private Long cid; 

    /** 部门类型 新增字段20180509  - ZhangHao*/
    private Integer companyType; 
    
    /** 领导姓名、负责人姓名 20180525 - ZhangHao*/
    private String leaderName;
    
    /** 以下字段非数据库字段，拼接返回给请求方使用 - ZhangHao**/
    private String title;
    
    /** 部门集合 - ZhangHao*/
    private List<CompanyDepartment> companyDepartmentList;
    
    /** 部门人数 -MaJie*/
    private Integer count;
    
    /** 部门类型名称*/
    private String companyTypeName;
    
    /** 部门层级名称*/
    private String departmentNameLevels;
    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public Date getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    public Long getParentDeptId() {
        return parentDeptId;
    }

    public void setParentDeptId(Long parentDeptId) {
        this.parentDeptId = parentDeptId;
    }

    public Long getLeaderId() {
        return leaderId;
    }

    public void setLeaderId(Long leaderId) {
        this.leaderId = leaderId;
    }

	public Long getCid() {
		return cid;
	}

	public void setCid(Long cid) {
		this.cid = cid;
	}

	public Integer getCompanyType() {
		return companyType;
	}

	public void setCompanyType(Integer companyType) {
		this.companyType = companyType;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getLeaderName() {
		return leaderName;
	}

	public void setLeaderName(String leaderName) {
		this.leaderName = leaderName;
	}

	public List<CompanyDepartment> getCompanyDepartmentList() {
		return companyDepartmentList;
	}

	public void setCompanyDepartmentList(List<CompanyDepartment> companyDepartmentList) {
		this.companyDepartmentList = companyDepartmentList;
	}

	public Integer getCount() {
		return count;
	}

	public void setCount(Integer count) {
		this.count = count;
	}

	public String getCompanyTypeName() {
		return companyTypeName;
	}

	public void setCompanyTypeName(String companyTypeName) {
		this.companyTypeName = companyTypeName;
	}

	public String getDepartmentNameLevels() {
		return departmentNameLevels;
	}

	public void setDepartmentNameLevels(String departmentNameLevels) {
		this.departmentNameLevels = departmentNameLevels;
	}

	@Override
	public String toString() {
		return "CompanyDepartment [id=" + id + ", createTime=" + createTime + ", updateTime=" + updateTime
				+ ", createUserId=" + createUserId + ", deleteTime=" + deleteTime + ", isDeleted=" + isDeleted
				+ ", name=" + name + ", code=" + code + ", description=" + description + ", parentDeptId="
				+ parentDeptId + ", leaderId=" + leaderId + ", cid=" + cid + ", companyType=" + companyType
				+ ", leaderName=" + leaderName + ", title=" + title + ", companyDepartmentList=" + companyDepartmentList
				+ ", count=" + count + "]";
	}
    
}